Η παράγραφος που παραθέτεις προέρχεται νομίζω από την αρχή του Overview του Entity Framework και έχει στόχο να εξηγήσει και όχι να ορίσει τί είναι το Entity Framework. Αν θέλεις ένα πιό τυπικό ορισμό, μπορείς να δεις τη δημοσίευση (The ADO.NET Entity Framework: Making the Conceptual Level Real) που έκανε το Δεκέμβρη του 2006 η ομάδα του Entity Framework στο ACM SIGMOD (Special Interest Group for Management Of Data). Μία ακαδημαϊκή δημοσίευση είναι πολύ πιο αυστηρή από ένα overview. Παραθέτω μερικά τμήματα όπου φαίνεται ξεκάθαρα ότι η φιλοσοφία του EF είναι να εισαχθεί ένα conceptual level στο οποίο θα στηριχθούν ξεχωριστά mappings προς το data store και προς το domain model.
Η ομάδα του EF βλέπει πολύ πέρα από την σύνδεση domain model με βάση. Για παράδειγμα, το Facebook χρησιμοποιεί ένα απλοποιημένο API με βάση ένα απλό domain model για να ανοίξει τα δεδομένα του σε εξωτερικές εφαρμογές με απλό τρόπο. Το ADO.NET Data Services μπορεί να κάνει το ίδιο για το .ΝΕΤ βασιζόμενο στο conceptual model του Entity Framework.
Τα bold παρακάτω είναι δικά μου.
Abstract
This paper describes the ADO.NET Entity Framework, a platform for programming against data that raises the level of abstraction from the logical (relational) level to the conceptual (entity) level, and thereby significantly reduces the impedance mismatch for applications and data services such as reporting, analysis, and replication. The conceptual data model is made real by a runtime that implements an extended relational model (the Entity Data Model aka the EDM), that embraces entities and relationships as first class concepts; a query language for the EDM; a comprehensive mapping engine that translates from the conceptual to the logical (relational) level, and a set of model-driven tools that help create entity-object, object-xml, and entity-xml transformers.
...
Introduction
...
We argue that modern applications and data services need to target a higher-level conceptual model based on entities and relationships rather than the relational model and that such a conceptual model needs to be implemented concretely in a data platform.
...
4.4.1 Build the conceptual model
...
The first step is to define one’s conceptual model.
...
4.4.2 Apply the mapping
...
After we define the EDM conceptual model, we identify a target store, and then map the conceptual model to the target store’s logical schema model.
...
4.4.3 Automatically Generated Classes
...
Having the conceptual level is indeed sufficient for many applications as it provides a domain model that is live within the context of a comfortable pattern (ADO.NET commands, connections and data readers) and allows for late bound scenarios. Many applications, however, prefer an object programming layer (See Figure 5). This can be facilitated through code generation driven from the EDM description. For increased flexibility and data independence between the object and conceptual level, a mapping may be defined between classes and the conceptual model. The mapping between classes and the conceptual model is a straightforward member-wise mapping. This enables applications built against these classes to be reused against other versions of the the conceptual model, provided a legal map can be defined.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos